<!doctype html>
<html> 
 <head> 
  <meta charset="utf-8"> 
  <title>日期和时间组件文档 - Layui</title> 
  <meta name="renderer" content="webkit"> 
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 
  <meta name="apple-mobile-web-app-status-bar-style" content="black"> 
  <meta name="apple-mobile-web-app-capable" content="yes"> 
  <meta name="format-detection" content="telephone=no"> 
  <link rel="stylesheet" href="/layui/dist/css/layui.css" media="all"> 
  <link rel="stylesheet" href="/static/css/global.css" media="all"> 
 </head> 
 <body> 
  <div class="layui-header header header-doc"> 
   <div class="layui-container"> <a class="logo" href="/index.html"> <img src="/static/images/layui/logo.png" alt="layui"> </a> 
    <div class="layui-form layui-hide-xs component" lay-filter="LAY-site-header-component"></div> 
    <div class="layui-hide-xs site-notice"></div> 
    <ul class="layui-nav" id="LAY_NAV_TOP"> 
     <li class="layui-nav-item layui-this"> <a href="/doc/index.html">文档</a> </li> 
     <li class="layui-nav-item "> <a href="/demo/index.html">示例</a> </li> 
     <li class="layui-nav-item"> <a href="javascript:;"> <!--<span class="layui-badge-dot" style="left:0; right: auto; margin: -4px 0 0 5px;"></span>--> 周边 </a> 
      <dl class="layui-nav-child layui-nav-child-c"> 
       <dd class="layui-hide-sm layui-show-xs" lay-unselect> <a href="https://gitee.com/sentsin/layui/issues" target="_blank" rel="nofollow">问题反馈</a> 
        <hr> 
       </dd> 
       <dd lay-unselect>
        <a href="/alone.html" target="_blank" lay-unselect>独立组件</a>
       </dd> 
       <dd lay-unselect>
        <a href="/extend/" target="_blank">扩展组件</a>
       </dd> 
      </dl> </li> 
     <li class="layui-nav-item layui-hide-xs"> <a href="//gitee.com/sentsin/layui/issues" target="_blank" rel="nofollow">反馈</a> </li> 
    </ul> 
   </div> 
  </div> <!-- 让IE8/9支持媒体查询，从而兼容栅格 --> <!--[if lt IE 9]>
  <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
  <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
<![endif]--> 
  <ul class="site-dir"> 
   <li><a href="#use"><cite>快速使用</cite></a></li> 
   <li><a href="#options"><cite>基础参数选项</cite></a></li> 
   <ul style="margin-left: 15px;"> 
    <li><a href="#elem">绑定元素<em>elem</em></a></li> 
    <li><a href="#type">控件类型<em>type</em></a></li> 
    <li><a href="#range">范围选择<em>range</em></a></li> 
    <li><a href="#format">自定义格式<em>format</em></a></li> 
    <li><a href="#value">初始值<em>value</em></a></li> 
    <li><a href="#isInitValue">初始值填充<em>isInitValue</em></a></li> 
    <li><a href="#isPreview">选择值预览<em>isPreview</em></a></li> 
    <li><a href="#minmax">最大/小日期<em>min/max</em></a></li> 
    <li><a href="#trigger">自定义事件<em>trigger</em></a></li> 
    <li><a href="#show">默认显示<em>show</em></a></li> 
    <li><a href="#position">定位方式<em>position</em></a></li> 
    <li><a href="#zIndex">层叠顺序<em>zIndex</em></a></li> 
    <li><a href="#showBottom">底部栏<em>showBottom</em></a></li> 
    <li><a href="#btns">工具按钮<em>btns</em></a></li> 
    <li><a href="#lang">语言<em>lang</em></a></li> 
    <li><a href="#theme">主题<em>theme</em></a></li> 
    <li><a href="#calendar">公历节日<em>calendar</em></a></li> 
    <li><a href="#mark">标注重要日子<em>mark</em></a></li> 
   </ul> 
   <li>回调</li> 
   <ul style="margin-left: 15px;"> 
    <li><a href="#onready">控件初始打开的回调</a></li> 
    <li><a href="#onchange">日期被切换的回调</a></li> 
    <li><a href="#ondone">选择完毕的回调</a></li> 
   </ul> 
   <li><a href="#hint"><cite>弹出提示</cite></a></li> 
   <li><a href="#path"><cite>配置基础路径</cite></a></li> 
   <li><a href="#other"><cite>其它方法</cite></a></li> 
  </ul> 
  <div class="layui-container layui-row"> 
   <div class="layui-col-md3"> 
    <div class="layui-panel site-menu"> 
     <ul class="layui-menu layui-menu-lg"> 
      <li class="layui-menu-item-group" lay-options="{type: 'group', isAllowSpread: true}"> 
       <div class="layui-menu-body-title">
         基础说明 
       </div> 
       <hr> 
       <ul> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/index.html"> <span>开始使用 </span> <span class="layui-font-12 layui-font-gray">Getting Started</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/base/infrastructure.html"> <span>底层方法 </span> <span class="layui-font-12 layui-font-gray">基础支撑</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/base/element.html"> <span>页面元素 </span> <span class="layui-font-12 layui-font-gray">规范 公共类 属性</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/base/modules.html"> <span>模块规范 </span> <span class="layui-font-12 layui-font-gray">使用 扩展</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/base/faq.html"> <span>常见问题 </span> <span class="layui-font-12 layui-font-gray">FAQ</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/base/changelog.html"> <span>更新日志 </span> <span class="layui-font-12 layui-font-gray">changelog</span> <span class="layui-badge-dot"></span> </a> 
         </div> </li> 
       </ul> </li> 
      <li class="layui-menu-item-group" lay-options="{type: 'group', isAllowSpread: true}"> 
       <div class="layui-menu-body-title">
         页面元素 
       </div> 
       <hr> 
       <ul> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/layout.html"> <span>布局 </span> <span class="layui-font-12 layui-font-gray">栅格 后台管理布局</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/color.html"> <span>颜色 </span> <span class="layui-font-12 layui-font-gray">主色调 颜色搭配</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/icon.html"> <span>图标 </span> <span class="layui-font-12 layui-font-gray">iconfont 字体图标</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/anim.html"> <span>动画 </span> <span class="layui-font-12 layui-font-gray">内置 CSS3 动画</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/button.html"> <span>按钮 </span> <span class="layui-font-12 layui-font-gray">button</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/form.html"> <span>表单 </span> <span class="layui-font-12 layui-font-gray">form 元素集合</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/nav.html"> <span>导航 </span> <span class="layui-font-12 layui-font-gray">nav 面包屑</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/menu.html"> <span>菜单 </span> <span class="layui-font-12 layui-font-gray">menu 基础菜单</span> <span class="layui-badge-dot"></span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/tab.html"> <span>选项卡 </span> <span class="layui-font-12 layui-font-gray">Tabs 切换</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/progress.html"> <span>进度条 </span> <span class="layui-font-12 layui-font-gray">progress</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/panel.html"> <span>面板 </span> <span class="layui-font-12 layui-font-gray">panel 卡片 折叠</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/table.html"> <span>表格 </span> <span class="layui-font-12 layui-font-gray">静态 table</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/badge.html"> <span>徽章 </span> <span class="layui-font-12 layui-font-gray">小圆点 小边框</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/timeline.html"> <span>时间线 </span> <span class="layui-font-12 layui-font-gray">timeline</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/auxiliar.html"> <span>辅助 </span> <span class="layui-font-12 layui-font-gray">引用 字段集 横线等</span> </a> 
         </div> </li> 
       </ul> </li> 
      <li class="layui-menu-item-group" lay-options="{type: 'group', isAllowSpread: true}"> 
       <div class="layui-menu-body-title">
         内置模块 
       </div> 
       <hr> 
       <ul> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/layer.html"> <span>弹出层 </span> <span class="layui-font-12 layui-font-gray">layer</span> </a> 
         </div> </li> 
        <li class="layui-menu-item-checked2"> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/laydate.html"> <span>日期与时间选择 </span> <span class="layui-font-12 layui-font-gray">laydate</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/laypage.html"> <span>分页 </span> <span class="layui-font-12 layui-font-gray">laypage</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/laytpl.html"> <span>模板引擎 </span> <span class="layui-font-12 layui-font-gray">laytpl</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/table.html"> <span>数据表格 </span> <span class="layui-font-12 layui-font-gray">table</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/form.html"> <span>表单 </span> <span class="layui-font-12 layui-font-gray">form</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/upload.html"> <span>文件上传 </span> <span class="layui-font-12 layui-font-gray">upload</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/dropdown.html"> <span>下拉菜单 </span> <span class="layui-font-12 layui-font-gray">dropdown</span> <span class="layui-badge-dot"></span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/transfer.html"> <span>穿梭框 </span> <span class="layui-font-12 layui-font-gray">transfer</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/tree.html"> <span>树形组件 </span> <span class="layui-font-12 layui-font-gray">tree</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/colorpicker.html"> <span>颜色选择器 </span> <span class="layui-font-12 layui-font-gray">colorpicker</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/element.html"> <span>常用元素操作 </span> <span class="layui-font-12 layui-font-gray">element</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/slider.html"> <span>滑块 </span> <span class="layui-font-12 layui-font-gray">slider</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/rate.html"> <span>评分 </span> <span class="layui-font-12 layui-font-gray">rate</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/carousel.html"> <span>轮播 </span> <span class="layui-font-12 layui-font-gray">carousel</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/flow.html"> <span>流加载 </span> <span class="layui-font-12 layui-font-gray">flow</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/util.html"> <span>工具组件 </span> <span class="layui-font-12 layui-font-gray">util</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/code.html"> <span>代码高亮显示 </span> <span class="layui-font-12 layui-font-gray">code</span> </a> 
         </div> </li> 
       </ul> </li> 
     </ul> 
    </div> 
    <div class="layui-hide-v">
      - 
    </div> 
   </div> 
   <div class="layui-col-md9 site-content"> 
    <h1 class="site-h1"><i class="layui-icon"></i> 日期和时间组件文档 - layui.laydate</h1> 
    <blockquote class="layui-elem-quote">
      如你所见，layDate 在 layui 2.0 的版本中迎来一次重生。无论曾经它给你带来过多么糟糕的体验，从今往后，所有的旧坑都将弥合。全面重写的 layDate 包含了大量的更新，其中主要以：<em>年选择器</em>、<em>年月选择器</em>、<em>日期选择器</em>、<em>时间选择器</em>、<em>日期时间选择器</em> 五种类型的选择方式为基本核心，并且均支持范围选择（即双控件）。内置强劲的自定义日期格式解析和合法校正机制，含中文版和国际版，主题简约却又不失灵活多样。由于内部采用的是零依赖的原生 JavaScript 编写，因此又可作为独立组件使用。毫无疑问，这是 layui 的虔心之作。 
    </blockquote> 
    <blockquote class="layui-elem-quote site-text">
      模块加载名称：<em>laydate</em>，独立版本：<a href="/laydate/index.html" target="_blank">http://www.layui.com/laydate/</a> 
    </blockquote> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="use">快速使用</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>和 layer 一样，你可以在 layui 中使用 layDate，也可直接使用 layDate 独立版，请按照你的实际需求来选择。</p> 
     <table class="layui-table"> 
      <thead> 
       <tr> 
        <th style="width: 150px;">场景</th> 
        <th style="width: 450px;">用前准备</th> 
        <th>调用方式</th> 
       </tr> 
      </thead> 
      <tbody> 
       <tr> 
        <td>1. 在 layui 模块中使用</td> 
        <td> 下载 layui 后，引入<em>layui.css</em>和<em>layui.js</em>即可 </td> 
        <td> 通过<em>layui.use('laydate', callback)</em>加载模块后，再调用方法 </td> 
       </tr> 
       <tr> 
        <td>2. 作为独立组件使用</td> 
        <td> 去 <a href="/laydate/index.html" target="_blank">layDate</a> 独立版本官网下载组件包，引入 laydate.js 即可 </td> 
        <td> 直接调用方法使用 </td> 
       </tr> 
       <tr> 
       </tr> 
      </tbody>
     </table> 
     <div class="layui-inline">
       这是一个最简单的示例： 
     </div> 
     <div class="layui-inline" style="width: 274px;"> 
      <input type="text" class="layui-input" id="test1" placeholder="yyyy-MM-dd"> 
     </div> 
     <div class="layui-inline" style="margin-left: 15px;">
      对应的代码如下：
     </div> 
     <pre class="layui-code" lay-title="在 layui 模块中使用">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta charset="utf-8"&gt;
  &lt;title&gt;layDate快速使用&lt;/title&gt;
  &lt;link rel="stylesheet" href="/static/build/layui.css" media="all"&gt;
&lt;/head&gt;
&lt;body&gt;
 
&lt;div class="layui-inline"&gt; &lt;!-- 注意：这一层元素并不是必须的 --&gt;
  &lt;input type="text" class="layui-input" id="test1"&gt;
&lt;/div&gt;
 
&lt;script src="/static/build/layui.js"&gt;&lt;/script&gt;
&lt;script&gt;
layui.use('laydate', function(){
  var laydate = layui.laydate;
  
  //执行一个laydate实例
  laydate.render({
    elem: '#test1' //指定元素
  });
});
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
      </pre> 
     <pre class="layui-code" lay-title="作为独立组件使用">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta charset="utf-8"&gt;
  &lt;title&gt;使用 layDate 独立版&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
 
&lt;input type="text" id="test1"&gt;
 
&lt;script src="laydate.js"&gt;&lt;/script&gt;
&lt;script&gt;
//执行一个laydate实例
laydate.render({
  elem: '#test1' //指定元素
});
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
      </pre> 
     <p>除了在组件加载方式有一些小小的不同，其它都完全类似</p> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="options">基础参数选项</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>通过核心方法：<em>laydate.render(options)</em> 来设置基础参数，也可以通过方法：<em>laydate.set(options)</em> 来设定全局基础参数.</p> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="elem">elem - 绑定元素</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>String/DOM</em>，默认值：<em>无</em></p> 
     <p>必填项，用于绑定执行日期渲染的元素，值一般为选择器，或DOM对象</p> 
     <pre class="layui-code">laydate.render({ 
  elem: '#test' //或 elem: document.getElementById('test')、elem: lay('#test') 等
});
      </pre> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="type">type - 控件选择类型</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>String</em>，默认值：<em>date</em></p> 
     <p>用于单独提供不同的选择器类型，可选值如下表：</p> 
     <table class="layui-table"> 
      <colgroup> 
       <col width="100"> 
       <col width="150"> 
       <col> 
      </colgroup> 
      <thead> 
       <tr> 
        <th>type可选值</th> 
        <th>名称</th> 
        <th>用途</th> 
       </tr> 
      </thead> 
      <tbody> 
       <tr> 
        <td>year</td> 
        <td>年选择器</td> 
        <td>只提供年列表选择</td> 
       </tr> 
       <tr> 
        <td>month</td> 
        <td>年月选择器</td> 
        <td>只提供年、月选择</td> 
       </tr> 
       <tr> 
        <td>date</td> 
        <td>日期选择器</td> 
        <td>可选择：年、月、日。type默认值，一般可不填</td> 
       </tr> 
       <tr> 
        <td>time</td> 
        <td>时间选择器</td> 
        <td>只提供时、分、秒选择</td> 
       </tr> 
       <tr> 
        <td>datetime</td> 
        <td>日期时间选择器</td> 
        <td>可选择：年、月、日、时、分、秒</td> 
       </tr> 
      </tbody> 
     </table> 
     <pre class="layui-code">//年选择器
laydate.render({ 
  elem: '#test'
  ,type: 'year'
});
 
//年月选择器
laydate.render({ 
  elem: '#test'
  ,type: 'month'
});
 
//日期选择器
laydate.render({ 
  elem: '#test'
  //,type: 'date' //默认，可不填
});
 
//时间选择器
laydate.render({ 
  elem: '#test'
  ,type: 'time'
});
 
//日期时间选择器
laydate.render({ 
  elem: '#test'
  ,type: 'datetime'
});
      </pre> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="range">range - 开启左右面板范围选择</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>Boolean/String/Array</em>，默认值：<em>false</em></p> 
     <p>如果设置 <em>true</em>，将默认采用 “ - ” 分割。 你也可以直接设置 <em>分割字符</em>。五种选择器类型均支持左右面板的范围选择。</p> 
     <pre class="layui-code" lay-height="390px">//日期范围选择
laydate.render({ 
  elem: '#test'
  ,range: true //或 range: '~' 来自定义分割字符
});
 
//日期时间范围选择
laydate.render({ 
  elem: '#test'
  ,type: 'datetime'
  ,range: true
});
 
//时间范围选择
laydate.render({ 
  elem: '#test'
  ,type: 'time'
  ,range: true
});
 
//年范围选择
laydate.render({ 
  elem: '#test'
  ,type: 'year'
  ,range: true
});
 
//年月范围选择
laydate.render({ 
  elem: '#test'
  ,type: 'month'
  ,range: true
});
      </pre> 
     <p>如果您要将开始时间和结束时间分开，那么还可以将 range 参数设置为数组，如：</p> 
     <pre class="layui-code">&lt;div class="layui-form-item"&gt;
  &lt;div class="layui-inline"&gt;
    &lt;label class="layui-form-label"&gt;日期范围&lt;/label&gt;
    &lt;div class="layui-inline" id="test-range"&gt;
      &lt;div class="layui-input-inline"&gt;
        &lt;input type="text" id="startDate" class="layui-input" placeholder="开始日期"&gt;
      &lt;/div&gt;
      &lt;div class="layui-form-mid"&gt;-&lt;/div&gt;
      &lt;div class="layui-input-inline"&gt;
        &lt;input type="text" id="endDate" class="layui-input" placeholder="结束日期"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;script&gt; 
laydate.render({ 
  elem: '#test-range' //开始时间和结束时间所在 input 框的父选择器
  //设置开始日期、日期日期的 input 选择器
  ,range: ['#startDate', '#endDate'] //数组格式为 layui 2.6.6 开始新增
});
&lt;/script&gt; 
      </pre> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="format">format - 自定义格式</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>String</em>，默认值：<em>yyyy-MM-dd</em></p> 
     <p>通过日期时间各自的格式符和长度，来设定一个你所需要的日期格式。layDate 支持的格式如下：</p> 
     <table class="layui-table"> 
      <colgroup> 
       <col width="100"> 
       <col> 
      </colgroup> 
      <thead> 
       <tr> 
        <th>格式符</th> 
        <th>说明</th> 
       </tr> 
      </thead> 
      <tbody> 
       <tr> 
        <td>yyyy</td> 
        <td>年份，至少四位数。如果不足四位，则前面补零</td> 
       </tr> 
       <tr> 
        <td>y</td> 
        <td>年份，不限制位数，即不管年份多少位，前面均不补零</td> 
       </tr> 
       <tr> 
        <td>MM</td> 
        <td>月份，至少两位数。如果不足两位，则前面补零。</td> 
       </tr> 
       <tr> 
        <td>M</td> 
        <td>月份，允许一位数。</td> 
       </tr> 
       <tr> 
        <td>dd</td> 
        <td>日期，至少两位数。如果不足两位，则前面补零。</td> 
       </tr> 
       <tr> 
        <td>d</td> 
        <td>日期，允许一位数。</td> 
       </tr> 
       <tr> 
        <td>HH</td> 
        <td>小时，至少两位数。如果不足两位，则前面补零。</td> 
       </tr> 
       <tr> 
        <td>H</td> 
        <td>小时，允许一位数。</td> 
       </tr> 
       <tr> 
        <td>mm</td> 
        <td>分钟，至少两位数。如果不足两位，则前面补零。</td> 
       </tr> 
       <tr> 
        <td>m</td> 
        <td>分钟，允许一位数。</td> 
       </tr> 
       <tr> 
        <td>ss</td> 
        <td>秒数，至少两位数。如果不足两位，则前面补零。</td> 
       </tr> 
       <tr> 
        <td>s</td> 
        <td>秒数，允许一位数。</td> 
       </tr> 
      </tbody> 
     </table> 
     <p>通过上述不同的格式符组合成一段日期时间字符串，可任意排版，如下所示：</p> 
     <table class="layui-table"> 
      <colgroup> 
       <col width="260"> 
       <col> 
      </colgroup> 
      <thead> 
       <tr> 
        <th>格式</th> 
        <th>示例值</th> 
       </tr> 
      </thead> 
      <tbody> 
       <tr> 
        <td>yyyy-MM-dd HH:mm:ss</td> 
        <td>2017-08-18 20:08:08</td> 
       </tr> 
       <tr> 
        <td>yyyy年MM月dd日 HH时mm分ss秒</td> 
        <td>2017年08月18日 20时08分08秒</td> 
       </tr> 
       <tr> 
        <td>yyyyMMdd</td> 
        <td>20170818</td> 
       </tr> 
       <tr> 
        <td>dd/MM/yyyy</td> 
        <td>18/08/2017</td> 
       </tr> 
       <tr> 
        <td>yyyy年M月</td> 
        <td>2017年8月</td> 
       </tr> 
       <tr> 
        <td>M月d日</td> 
        <td>8月18日</td> 
       </tr> 
       <tr> 
        <td>北京时间：HH点mm分</td> 
        <td>北京时间：20点08分</td> 
       </tr> 
       <tr> 
        <td>yyyy年的M月某天晚上，大概H点</td> 
        <td>2017年的8月某天晚上，大概20点</td> 
       </tr> 
      </tbody> 
     </table> 
     <pre class="layui-code">//自定义日期格式
laydate.render({ 
  elem: '#test'
  ,format: 'yyyy年MM月dd日' //可任意组合
});
      </pre> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="value">value - 初始值</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>String</em>，默认值：<em>new Date()</em></p> 
     <p>支持传入符合format参数设定的日期格式字符，或者 new Date()</p> 
     <pre class="layui-code">//传入符合format格式的字符给初始值
laydate.render({ 
  elem: '#test'
  ,value: '2018-08-18' //必须遵循format参数设定的格式
});
 
//传入Date对象给初始值
laydate.render({ 
  elem: '#test'
  ,value: new Date(1534766888000) //参数即为：2018-08-20 20:08:08 的时间戳
});
      </pre> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="isInitValue">isInitValue - 初始值填充</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>Boolean</em>，默认值：<em>true</em></p> 
     <p>用于控制是否自动向元素填充初始值（需配合 value 参数使用）</p> 
     <pre class="layui-code">laydate.render({
  elem: '#test'
  ,value: '2017-09-10'
  ,isInitValue: false //是否允许填充初始值，默认为 true
});
      </pre> 
     <blockquote class="layui-elem-quote layui-quote-nm" style="color: #FF5722;">
      注意：该参数为 layui 2.3.0 新增。
     </blockquote> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="isPreview">isPreview - 是否开启选择值预览</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>Boolean</em>，默认值：<em>true</em></p> 
     <p>用于控制是否显示当前结果的预览（type 为 datetime 时不开启）</p> 
     <pre class="layui-code">laydate.render({
  elem: '#test'
  ,isPreview: false //禁用面板左下角选择值的预览，默认 true
});
      </pre> 
     <blockquote class="layui-elem-quote layui-quote-nm layui-font-red">
       注意：该参数为 layui 2.6.6 新增。 
     </blockquote> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="minmax">min/max - 最小/大范围内的日期时间值</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>string</em>，默认值：<em>min: '1900-1-1'</em>、<em>max: '2099-12-31'</em></p> 
     <p> 设定有限范围内的日期或时间值，<em>不在范围内的将不可选中</em>。这两个参数的赋值非常灵活，主要有以下几种情况： </p> 
     <table class="layui-table"> 
      <tbody> 
       <tr> 
        <td>1.</td> 
        <td>如果值为字符类型，则：<em>年月日必须用 -（中划线）分割</em>、<em>时分秒必须用 :（半角冒号）号分割</em>。这里并非遵循 format 设定的格式</td> 
       </tr> 
       <tr> 
        <td>2.</td> 
        <td>如果值为整数类型，且数字＜86400000，则数字代表天数，如：min: -7，即代表最小日期在7天前，正数代表若干天后</td> 
       </tr> 
       <tr> 
        <td>3.</td> 
        <td>如果值为整数类型，且数字 ≥ 86400000，则数字代表时间戳，如：max: 4073558400000，即代表最大日期在：公元3000年1月1日</td> 
       </tr> 
      </tbody> 
     </table> 
     <pre class="layui-code" lay-title="示例">//日期有效范围只限定在：2017年
laydate.render({ 
  elem: '#test'
  ,min: '2017-1-1'
  ,max: '2017-12-31'
});
 
//日期有效范围限定在：过去一周到未来一周
laydate.render({ 
  elem: '#test'
  ,min: -7 //7天前
  ,max: 7 //7天后
});
 
//日期时间有效范围的设定: 
laydate.render({ 
  elem: '#test'
  ,type: 'datetime'
  ,min: '2017-8-11 12:30:00'
  ,max: '2017-8-18 12:30:00'
});
 
//时间有效范围设定在: 上午九点半到下午五点半
laydate.render({ 
  elem: '#test'
  ,type: 'time'
  ,min: '09:30:00'
  ,max: '17:30:00'
});
      </pre> 
     <p>毫不保留地说，min和max参数是两个非常强大的存在，合理运用，可帮助用户在日期与时间的选择上带来更为友好的约束与体验。</p> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="trigger">trigger - 自定义弹出控件的事件</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>String</em>，默认值：<em>focus</em>，如果绑定的元素非输入框，则默认事件为：click</p> 
     <pre class="layui-code">//自定义事件
laydate.render({ 
  elem: '#test'
  ,trigger: 'click' //采用click弹出
});
      </pre> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="show">show - 默认显示</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>Boolean</em>，默认值：<em>false</em></p> 
     <p>如果设置: <em>true</em>，则控件默认显示在绑定元素的区域。通常用于外部事件调用控件，如：</p> 
     <pre class="layui-code">//默认显示
laydate.render({
  elem: '#test'
  ,show: true //直接显示
});
      
//外部事件调用
lay('#test1').on('click', function(e){ //假设 test1 是一个按钮
  laydate.render({
    elem: '#test'
    ,show: true //直接显示
    ,closeStop: '#test1' //这里代表的意思是：点击 test1 所在元素阻止关闭事件冒泡。如果不设定，则无法弹出控件
  });
});
      </pre> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="position">position - 定位方式</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>String</em>，默认值：<em>absolute</em></p> 
     <p>用于设定控件的定位方式，有以下三种可选值：</p> 
     <table class="layui-table"> 
      <colgroup> 
       <col width="150"> 
       <col> 
      </colgroup> 
      <thead> 
       <tr> 
        <th>position 可选值</th> 
        <th>说明</th> 
       </tr> 
      </thead> 
      <tbody> 
       <tr> 
        <td>abolute</td> 
        <td>绝对定位，始终吸附在绑定元素周围。默认值</td> 
       </tr> 
       <tr> 
        <td>fixed</td> 
        <td>固定定位，初始吸附在绑定元素周围，不随浏览器滚动条所左右。<em>一般用于在固定定位的弹层中使用。</em></td> 
       </tr> 
       <tr> 
        <td>static</td> 
        <td> 静态定位，控件将直接嵌套在指定容器中。 <br>注意：<em>请勿与 show 参数的概念搞混淆。show为 true 时，控件仍然是采用绝对或固定定位。而这里是直接嵌套显示</em> </td> 
       </tr> 
      </tbody> 
     </table> 
     <p>下面是一个直接嵌套显示的例子：<span id="test3"></span></p> 
     <div class="layui-inline" id="test2" style="margin-right: 15px;"></div> 
     <div class="layui-inline" style="width: 600px;"> 
      <pre class="layui-code" style="height:322px">【HTML】
&lt;span id="testView"&gt;&lt;/span&gt;
&lt;div id="test2"&gt;&lt;/div&gt;
 
【JS】:      
//嵌套在指定容器中
laydate.render({
  elem: '#test2'
  ,position: 'static'
  ,change: function(value, date){ //监听日期被切换
    lay('#testView').html(value);
  }
});
        </pre> 
     </div> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="zIndex">zIndex - 层叠顺序</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>Number</em>，默认值：<em>66666666</em></p> 
     <p>一般用于解决与其它元素的互相被遮掩的问题。如果 position 参数设为 static 时，该参数无效。</p> 
     <pre class="layui-code">//设定控件的层叠顺序
laydate.render({
  elem: '#test'
  ,zIndex: 99999999
});
      </pre> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="showBottom">showBottom - 是否显示底部栏</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>Boolean</em>，默认值：<em>true</em></p> 
     <p>如果设置 <em>false</em>，将不会显示控件的底部栏区域</p> 
     <pre class="layui-code">//不显示底部栏
laydate.render({
  elem: '#test'
  ,showBottom: false
});
      </pre> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="btns">btns - 工具按钮</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>Array</em>，默认值：<em>['clear', 'now', 'confirm']</em></p> 
     <p>右下角显示的按钮，会按照数组顺序排列，内置可识别的值有：clear、now、confirm</p> 
     <pre class="layui-code">//只显示清空和确认
laydate.render({
  elem: '#test'
  ,btns: ['clear', 'confirm']
});
      </pre> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="lang">lang - 语言</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>String</em>，默认值：<em>cn</em></p> 
     <p>我们内置了两种语言版本：<em>cn</em>（中文版）、<em>en</em>（国际版，即英文版）。这里并没有开放自定义文字，是为了避免繁琐的配置。</p> 
     <pre class="layui-code">//国际版
laydate.render({
  elem: '#test'
  ,lang: 'en'
});
      </pre> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="theme">theme - 主题</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>String</em>，默认值：<em>default</em></p> 
     <p>我们内置了多种主题，theme的可选值有：<em>default</em>（默认简约）、<em>molv</em>（墨绿背景）、<em>#颜色值</em>（自定义颜色背景）、<em>grid</em>（格子主题）</p> 
     <pre class="layui-code">//墨绿背景主题
laydate.render({
  elem: '#test'
  ,theme: 'molv'
});
 
//自定义背景色主题 - 非常实用
laydate.render({
  elem: '#test'
  ,theme: '#393D49'
});
 
//格子主题
laydate.render({
  elem: '#test'
  ,theme: 'grid'
});
      </pre> 
     <p>另外，你还可以传入其它字符，如：theme: 'xxx'，那么控件将会多出一个 <em>class="laydate-theme-xxx"</em> 的CSS类，以便于你单独定制主题。</p> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="calendar">calendar - 是否显示公历节日</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>Boolean</em>，默认值：<em>false</em></p> 
     <p>我们内置了一些我国通用的公历重要节日，通过设置 <em>true</em> 来开启。国际版不会显示。</p> 
     <pre class="layui-code">//允许显示公历节日
laydate.render({
  elem: '#test'
  ,calendar: true
});
      </pre> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="mark">mark - 标注重要日子</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>类型：<em>Object</em>，默认值：<em>无</em></p> 
     <p>calendar 参数所代表的公历节日更多情况下是一个摆设。因此，我们还需要自定义标注重要日子，比如结婚纪念日？日程等？它分为以下两种：</p> 
     <table class="layui-table"> 
      <colgroup> 
       <col width="150"> 
       <col> 
       <col> 
      </colgroup> 
      <thead> 
       <tr> 
        <th>标注</th> 
        <th>格式</th> 
        <th>说明</th> 
       </tr> 
      </thead> 
      <tbody> 
       <tr> 
        <td>每年的日期</td> 
        <td>{'0-9-18': '国耻'}</td> 
        <td>0 即代表每一年</td> 
       </tr> 
       <tr> 
        <td>每月的日期</td> 
        <td>{'0-0-15': '中旬'}</td> 
        <td>0-0 即代表每年每月（layui 2.1.1/layDate 5.0.4 新增）</td> 
       </tr> 
       <tr> 
        <td>特定的日期</td> 
        <td>{'2017-8-21': '发布')</td> 
        <td>-</td> 
       </tr> 
      </tbody> 
     </table> 
     <p>可同时设定多个，如：</p> 
     <pre class="layui-code">//标注重要日子
var ins1 = laydate.render({
  elem: '#test'
  ,mark: {
    '0-10-14': '生日'
    ,'0-12-31': '跨年' //每年12月31日
    ,'0-0-10': '工资' //每个月10号
    ,'2017-8-15': '' //具体日期
    ,'2017-8-20': '预发' //如果为空字符，则默认显示数字+徽章
    ,'2017-8-21': '发布'
  }
  ,done: function(value, date){
    if(date.year === 2017 &amp;&amp; date.month === 8 &amp;&amp; date.date === 15){ //点击2017年8月15日，弹出提示语
      ins1.hint('中国人民抗日战争胜利72周年');
    }
  }
});
      </pre> 
     <p>非常实用的存在，是时候利用它制作你的日程表了。</p> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="onready">控件初始打开的回调</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>控件在打开时触发，回调返回一个参数：<em>初始的日期时间对象</em></p> 
     <pre class="layui-code">laydate.render({
  elem: '#test'
  ,ready: function(date){
    console.log(date); //得到初始的日期时间对象：{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
  }
});
      </pre> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="onchange">日期时间被切换后的回调</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>年月日时间被切换时都会触发。回调返回三个参数，分别代表：<em>生成的值</em>、<em>日期时间对象</em>、<em>结束的日期时间对象</em></p> 
     <pre class="layui-code">laydate.render({
  elem: '#test'
  ,change: function(value, date, endDate){
    console.log(value); //得到日期生成的值，如：2017-08-18
    console.log(date); //得到日期时间对象：{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
    console.log(endDate); //得结束的日期时间对象，开启范围选择（range: true）才会返回。对象成员同上。
  }
});
      </pre> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="ondone">控件选择完毕后的回调</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>点击日期、清空、现在、确定均会触发。回调返回三个参数，分别代表：<em>生成的值</em>、<em>日期时间对象</em>、<em>结束的日期时间对象</em></p> 
     <pre class="layui-code">laydate.render({
  elem: '#test'
  ,done: function(value, date, endDate){
    console.log(value); //得到日期生成的值，如：2017-08-18
    console.log(date); //得到日期时间对象：{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
    console.log(endDate); //得结束的日期时间对象，开启范围选择（range: true）才会返回。对象成员同上。
  }
});
      </pre> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="hint">弹出控件提示</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>事实上，执行核心方法 <em>laydate.render(options)</em> 会返回一个当前实例对象。其中包含一些成员属性和方法，比如：hint方法</p> 
     <pre class="layui-code">var ins1 = laydate.render({
  elem: '#test'
  ,change: function(value, date, endDate){
    ins1.hint(value); //在控件上弹出value值
  }
});
      </pre> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="path">配置基础路径</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>如果你不是采用 layui 或者普通 script 标签方式加载的 laydate.js，而是采用 requirejs 等其它方式引用 laydate，那么你需要设置基础路径，以便 laydate.css 完成加载。</p> 
     <pre class="layui-code">laydate.path = '/static/xxx/'; //laydate.js 所在目录
 
//配置好路径后，再调用
laydate.render(options);
      </pre> 
     <p>除上述之外，如果您采用的是独立的 laydate，那么你还可以在动态加载 <code>laydate</code>之前预先定义一个我们约定好的全局对象：</p> 
     <pre class="layui-code">&lt;script&gt;  
var LAYUI_GLOBAL = {
  laydate_dir: '/res/laydate/' //laydate 所在目录（laydate 5.3.0 开始新增）
};
&lt;/script&gt;    
        </pre> 
     <blockquote class="layui-elem-quote layui-text">
       提示 1：上述只针对独立版 laydate，其 LAYUI_GLOBAL 设定的 laydate_dir 优先级高于 laydate.path； 
      <br>提示 2：如果是 layui 加载的 laydate，可以无视上述所有的目录设定。前置工作都会在 layui 内部完成。 
     </blockquote> 
    </div> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="other">其它方法</a></legend> 
    </fieldset> 
    <table class="layui-table"> 
     <colgroup> 
      <col width="300"> 
      <col> 
     </colgroup> 
     <thead> 
      <tr> 
       <th>方法名</th> 
       <th>备注</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td>laydate.getEndDate(month, year)</td> 
       <td> 获取指定年月的最后一天，month默认为当前月，year默认为当前年。如： <br>var endDate1 = laydate.getEndDate(10); //得到31 <br>var endDate2 = laydate.getEndDate(2, 2080); //得到29 </td> 
      </tr> 
     </tbody> 
    </table> 
    <fieldset class="layui-elem-field layui-field-title site-title"> <legend><a name="other">结语</a></legend> 
    </fieldset> 
    <div class="site-text"> 
     <p>layDate最早发布于2014年6月，但当时只迭代了一个版本，就再也没有更新。而时至今日，作为 layui 2.0 的核心组成之一，layDate 再度强势复活，不禁让人感慨万千！layDate曾被我定义为：“最失败的一个组件”，被我无情搁置了整整三年。现在，是时候卸下这个标签了。</p> 
    </div> 
    <div class="layui-elem-quote"> 
     <p>layui - 在每一个细节中，用心与你沟通</p> 
    </div> 
   </div> 
  </div> 
  <div class="layui-footer footer footer-doc"> 
   <p> Copyright © 2021 <a href="/index.html">layui.itmtr.cn</a> MIT Licensed</p> 
   <p> </p>
  </div> 
  <script>
window.global = {
  pageType: 'doc'
  ,preview: function(){
    var preview = document.getElementById('LAY_preview');
    return preview ? preview.innerHTML : '';
  }()
};
</script> 
  <div class="site-tree-mobile layui-hide"> <i class="layui-icon layui-icon-spread-left"></i> 
  </div> 
  <div class="site-mobile-shade"></div> 
  <script src="/layui/dist/layui.js" charset="utf-8"></script> 
  <script>
layui.config({
  base: '/static/lay/modules/layui/'
  ,version: '1632659138225'
}).use('global');
</script> 
  <script>
layui.use('laydate', function(){
  var laydate = layui.laydate;
  
  //执行一个laydate实例
  laydate.render({
    elem: '#test1' //指定元素
  });
  
  //嵌套显示
  laydate.render({
    elem: '#test2'
    ,position: 'static'
    ,change: function(value){
      lay('#testView').html(value);
    }
  });
});
</script>  
 </body>
<script src="/common/common.js"></script>
</html>